Android 开发第五弹:简易时钟(闹钟)

这次是一个时钟类应用,目前依旧是主要的功能,长得还是很挫。当然了,核心功能是有的……

这里写图片描述

闹钟之前的准备

布局的话,不管是采用FrameLayout或者LinearLayout都可以。

我这里采用了FrameLayout,然后加上一个TabHost,之前在论坛看到有同学提问在WF中这种多个栏目的用什么控件,我的答案是在WF、WPF、Windows App、ASP.NET以及安卓上都是Tab开头的控件。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TabHost
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/tabHost">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
            </TabWidget>
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent">                   
            </FrameLayout>
        </LinearLayout>
    </TabHost>
</FrameLayout>

定义好了TabHost之后就可以在MainAcitivity类中实例化它们了。

    private static TabHost tabHost;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tabHost = (TabHost)findViewById(R.id.tabHost);
        tabHost.setup();

        tabHost.addTab(tabHost.newTabSpec("tabAlarm").
                setIndicator("闹钟").setContent(R.id.tabAlarm));
        tabHost.addTab(tabHost.newTabSpec("tabTime").
                setIndicator("时钟").setContent(R.id.tabTime));
        tabHost.addTab(tabHost.newTabSpec("tabTimer").
                setIndicator("计时器").setContent(R.id.tabTimer));
        tabHost.addTab(tabHost.newTabSpec("tabStopWatch").
                setIndicator("秒表").setContent(R.id.tabStopWatch));
    }

如果你想调整“闹钟”与“时钟”这些的先后顺序,直接在代码中调整代码执行顺序即可。

AlarmView

首先呢,别的不管,我为大家准备了非常好听的铃声这里写图片描述,可惜铃声只能放源码里而不能放博客上……

现在来写一个AlarmView类,到时候在布局文件中可以直接使用它。

<myapplication.nomasp.com.clock.AlarmView
    android:id="@+id/tabAlarm"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
        android:id=&#
  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经
开发一个时钟应用程序,你需要遵循以下步骤: 1. 创建一个新的 Android 项目。你可以使用 Android Studio 创建项目,选择“Empty Activity”模板。 2. 编写布局文件。你需要在布局中添加一个 TextView 控件来显示时间,并在布局中添加一些按钮来设置闹钟功能等。 3. 在 MainActivity 类中编写代码。你需要编写代码来获取当前时间,并更新 TextView 控件中的显示时间。同时,你还需要为按钮添加事件处理程序,例如设置闹钟。 4. 测试你的应用程序。你可以在模拟器或者真实设备上运行你的应用程序,检查是否正常工作。 下面是一个简单的时钟应用程序的实现示例: 1. 在布局文件中添加一个 TextView 控件和一个 Button 控件: ``` <TextView android:id="@+id/textViewTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" /> <Button android:id="@+id/buttonSetAlarm" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Set Alarm" /> ``` 2. 在 MainActivity 类中编写代码: ``` public class MainActivity extends AppCompatActivity { private TextView textViewTime; private Button buttonSetAlarm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textViewTime = findViewById(R.id.textViewTime); buttonSetAlarm = findViewById(R.id.buttonSetAlarm); // 获取当前时间并更新 TextView 控件 updateTime(); // 为按钮添加事件处理程序 buttonSetAlarm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setAlarm(); } }); } private void updateTime() { // 获取当前时间 Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); // 更新 TextView 控件 textViewTime.setText(String.format("%02d:%02d", hour, minute)); } private void setAlarm() { // TODO: 实现设置闹钟的功能 } } ``` 在 updateTime() 方法中,我们使用 Calendar 类获取当前时间,并使用 String.format() 方法将时间格式化为“HH:mm”的形式。在 setAlarm() 方法中,你可以实现设置闹钟的功能,例如出一个对话框供用户设置闹钟时间等。 这样,你就可以创建一个简单的时钟应用程序了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值